input[type="checkbox"]{
    zoom:0.6;
    cursor: pointer;
}
.progress {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999;
    transition: all 0.2s ease-in-out;
}
.ant-upload-list-picture{
    flex:1 !important;
    width:640px !important;
    margin-left:0 !important;
    display: flex;
    >div{
        margin-left:10px
    }
}
.titleCheck~table {
    display: none;
}

.titleCheck:checked~table {
    display: table !important;
}

ul,
ol {
    margin: 0;
    padding: 0;
}

.corRed {
    color: #f2473d;
}

.ant-modal-body .ant-form {
    flex: 1 1;
    overflow-y: auto;
    display: flex;
    flex-wrap: wrap;
    align-self: flex-start;
    align-content: flex-start;
    justify-content: space-evenly;
}

.calRes {
    width: 100%;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;


    div {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        line-height: 20px;
    }
}

.adminiculaDetail {
    width: 90%;
    padding: 45px 0 45px 0;
    margin: auto;
    .cirBox {
        width: 100%;
        display: flex;
        flex-direction: column;
        border: 1px solid #ccc;
        position: relative;

        .cirRow {
            width: 100%;
            display: flex;
            align-content: space-between;
            justify-content: space-between;
            position: relative;

            .circle {
                display: block;
                position: relative;
                width: 30px;
                height: 30px;
                border-radius: 100%;
                border: 1px solid #ccc;
                font-size: 62.5%;
                >.text {
                    position: absolute;
                    left: -10px;
                    right: -10px;
                    margin: auto;
                    bottom: -20px;
                    text-align: center;
                }

                .roadName {
                    position: absolute;
                    left: -15px;
                    right: -15px;
                    margin: auto;
                    top: -25px;
                    text-align: center;
                }
            }

            .circle::before {
                content: "";
                display: block;
                width: 1px;
                height: 70px;
                border-left: 1px dotted #ccc;
                position: absolute;
                transform: translateY(-12.5px);
                top: 0;
                left: 0;
                right: 0;
                margin: auto;
            }
        }

        .cirRow::before {
            content: "";
            display: block;
            width: 100%;
            height: 1px;
            border-top: 1px dotted #ccc;
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
        }

        .cirRow:nth-child(n+2) {
            margin-top: 25px;
        }

    }
}

.editTable {
    tr {
        td {
            padding: 0 10px !important;
        }
    }

    .editable-cell-value-wrap {
        display: flex;
        align-items: center;
        min-height: 60px;
    }
}

.ant-form-item-control-wrapper {
    display: flex;
    align-items: center;

    >div {
        width: 100%;
    }
}

.hide,
.none {
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
}

.half {
    display: flex;
    margin-left: 1em;

}

.formularInput {
    .ant-form-item-children {
        display: flex;
    }
}

@media screen and(max-width: 1366px) {
    .half {
        flex: 0 0 36%;

        .ant-form-item-children {
            >div {
                width: 100%;
            }
        }
    }
}

@media screen and(min-width: 1366px) {
    .half {
        flex: 0 0 36%;

        .ant-form-item-children {
            display: flex;

            >div {
                width: 100%;
            }
        }
    }
}

@media screen and(min-width: 1920px) {
    .half {
        flex: 0 0 36%;

        .ant-form-item-children {
            display: flex;

            >div {
                width: 100%;
            }
        }
    }
}

.hidden {
    display: none !important;
}


.upload:hover {
    border: dashed 0.5px #0084ff !important;
    color: #0084ff !important;
}

.fullScreen {
    position: absolute;
    right: 55px;
    top: 20px;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.1s linear;
}

.fullScreen:hover {
    color: #0084ff;

}

.structureTree {
    align-self: start;
    justify-content: flex-start;
}

.sorter {
    width: 100%;

    .ant-row {
        margin-left: 0;
        display: flex;
        align-items: center;
    }
}




.ant-upload {
    width: auto;
    max-width: 150px;
}

.ant-modal-title,
.ant-modal-footer button span {
    font-size: 67.5% !important;
}

.ant-tabs .ant-tabs-left-content {
    padding-left: 3px !important;
}


.structureName {
    margin: 0 3px;
}

.ant-form-item-control-wrapper {
    height: 100%;
}

.componentEdit {
    width: 100%;
    flex: 1;
    flex-direction: column;
    align-self: start;
    justify-content: start;
    border: 1px solid #ececec;

    .ant-form {
        display: flex;
        flex-wrap: wrap;
        align-self: flex-start;
        align-content: flex-start;
        justify-content: space-evenly;
    }

    >div {
        width: 100%;

        align-self: start;
    }

    >div:last-child {
        margin-top: 25px;
    }
}

.ant-form-item-children>span>div {
    width: 100%;
}

.btnBox {
    display: flex;
    margin-left: 10px;
    align-items: center;

    button {
        margin-left: 10px;
    }

    .ant-btn {
        margin-left: 5px;
        background: #1890ff;
        color: #fff;
        border: none;
        outline: none;
    }

    button:disabled {
        opacity: 0.9;
        color: #fff;
    }

    .ant-btn:disabled:hover {

        color: #777;
        background: rgba(0, 0, 0, 0.1);
    }

    button:hover {
        opacity: 0.8;
    }
}

.pierComponentsBox {
    width: 100%;
    flex: 1;

    .tableBox {
        flex: 1;
        overflow: auto;
    }


    .ant-form {
        display: flex;
        justify-content: space-between;

        >div:first-child {
            width: 400px;
            display: flex;
            align-items: center;
            flex-wrap: nowrap;
            flex-direction: row;

            >div {
                width: 50% !important;
            }
        }

        .ant-form-item {
            margin-bottom: 0 !important;
            display: flex;
            align-items: center;
        }

        .ant-form-item:nth-child(-n+2) {
            margin-left: 15px;
        }
    }
}



.operate {
    a {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin: 0 3px;

        span {
            margin-left: 2px;
        }
    }
}



.topComponent {
    width: 100%;
    flex: 1;
    overflow: auto;

    .ant-table-wrapper {
        height: 100%;

        >div {
            align-self: start;
        }
    }

    flex-direction: column;
    align-self: start;
    justify-content: start;

    border: 1px solid #ececec;

    .sorter {
        width: 100%;

        .ant-row {
            width: 240px;
            margin: 0;
        }

        .ant-select {
            max-width: 220px;
        }

        button {
            color: #fff;
        }

        .ant-form {
            width: 100%;

            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        button:hover {
            opacity: 0.8;
        }
    }

    .ant-table-wrapper {
        width: 100%;
        align-self: start;
        justify-content: start;

        .ant-spin-nested-loading {
            width: 100%;

            .ant-spin-container {
                width: 100%;

                .ant-table {
                    width: 100%;
                }
            }
        }

    }
}

.ant-form-horizontal {
    .ant-form-item-children {
        button {
            margin-left: 5px;
        }

        >span {
            display: flex;
            align-items: center;
        }

        .ant-upload {
            align-self: start;
        }

        .ant-upload-list {
            align-self: start;
            margin: -10px 0 0 10px;
        }
    }
}


.ant-upload-list-item-info {
    >span {
        display: flex;
        align-items: center;
    }
}

.ant-upload-list {
    display: flex;
    flex-wrap: wrap;
    max-width: 800px;
    flex: 1 1 120px;
}

.strBForm {
    .ant-upload-list {
        padding-left: 10px;
        display: flex;
        flex-wrap: wrap;

    }
}

.roadDesign,
.BridgeMainList,
.BridgeChildList {
    width: 100%;
    display: flex;
    height: calc(100% - 49px);
    flex-direction: column;
    background: #f2f2f2;
    margin-bottom: 10px;

    >.topNav {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: #fff;

        >div:last-child {
            display: flex;
            margin-right: 10px;

            button {
                margin-left: 10px;
                background: #1890ff;
                border: 1px solid transparent;
            }

            button:hover {
                opacity: 0.9;
            }
        }
    }

    .ant-form {
        button {
            background: #1890ff;
            border: 1px solid transparent;
        }

        button:hover {
            opacity: 0.9;
        }
    }

    >div:last-child {
        flex: 1;
        overflow-y: auto;

        background: #fff;
    }
}



.ant-form-item-label {
    display: flex;
    justify-content: flex-end;
}

.ant-form-item-with-help {
    min-height: 60px;
}

#slist {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: stretch;

    .roadFile {
        flex: 0 1 140px;
        cursor: pointer;
        color: blue;
        display: flex;
        align-items: center;
        text-decoration: underline;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 30px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }
}

.structure {
    white-space: nowrap;
    overflow: hidden;
    margin-left: 10px;
}

.crossSectionBox {
    display: flex;

    >div {
        border: 1px solid #ececec;
        border-radius: 1px;

        .title {
            line-height: 32px;
            text-indent: 8px;
            border-bottom: 1px solid #ececec;
            background: #ececec;
        }
    }

    .left {
        flex: 3;
        margin-left: 5px;
        overflow: auto;
        padding: 0 10px 10px 10px;
    }

    .middle {
        flex: 8;
        margin-left: 15px;
        display: flex;
        flex-direction: column;

        .content {
            display: flex;
            height: 50vh;
            overflow: auto;

            >div {
                display: flex;
                flex: 1;
                flex-wrap: wrap;
                padding-left: 2.5%;

                >div {
                    display: flex;
                    flex: 0 0 30%;
                    margin-left: 2.5%;
                    margin-top: 2.5%;
                }
            }

            .card {
                width: 100%;
                font-size: 62.5%;

                >div:first-child {
                    display: flex;
                    margin-top: 10px;
                    justify-content: flex-end;
                }

                >div:last-child {
                    flex: 1;
                    display: flex;
                    flex-direction: column;

                    >div:first-child {
                        width: 90px;
                        height: 90px;
                        align-items: center;
                        justify-content: center;
                        border: 1px solid #ececec;

                    }

                    >div:last-child {
                        width: 90px;
                        height: 24px;
                        display: flex;
                        align-items: center;
                        justify-content: center;

                    }
                }
            }
        }
    }

    .right {
        flex: 4;
        margin: 0 15px 0 15px;
        min-width: 215px;

        .content {
            height: 50vh;
            overflow: auto;

            form {
                padding: 5px 10px;

                >div {
                    display: flex;
                    margin-top: 10px;

                    div,
                    input {
                        font-size: 62.5% !important;
                    }

                    >div:first-child {
                        width: 40px;
                        display: flex;
                        align-items: center;
                    }

                    >div:last-child {
                        flex: 1;
                    }

                }
            }
        }
    }
}

.tcBox {
    tr {
        td {
            text-align: center;

            input,
            select,
            textarea {
                text-align: center;
            }

            .anticon {
                font-size: 18px;
                color: #77b8f5;
                margin-top: 6px;
                cursor: pointer;
                margin-left: 2px;
                transition: color 0.1s linear;
            }

            .anticon:hover {
                color: #0485fd;
            }
        }
    }
}

.tableBoxS {
    width: 100%;
    overflow: auto;

    table {
        width: 100%;
        border-collapse: collapse;
        border-right: 1px solid #dee2e6;
        border-bottom: 1px solid #dee2e6;
        tbody{
            position: relative;
        }

        tr {
            transition: background 0.1s linear;
            content-visibility: auto;
            .nowrap {
                white-space: nowrap;
            }

            td {
                position: relative;
                border-left: 1px solid #dee2e6;
                border-top: 1px solid #dee2e6;
                text-indent: 2px;
                min-height: 26px;
                line-height: 26px;
                box-sizing: border-box;
                min-width: 60px;
                .required {
                    order-color: #f2473d;
                    border-right-width: 1px !important;
                    outline: 0;
                    -webkit-box-shadow: 0 0 0 2px rgb(242 71 61 / 20%);
                    box-shadow: 0 0 0 2px rgb(242 71 61 / 20%);
                }
                input,
                select {
                    width: 100%;
                    height: 26px;
                    float: left;
                    border: none;
                    outline: none;
                    transition: background 0.1s linear;
                }

                input::placeholder {
                    color: #bbb;
                }

                textArea {
                    width: 99.9%;
                    float: left;
                    border: 1px solid transparent;
                    outline: none;
                    height: 80px;
                    resize: none;
                    padding:0 !important;
                    line-height: 24px;
                }

                input:disabled {
                    background: #f9f9f9
                }
            }

            .rightIcon:before {
                content: "";
                width: 20px;
                height: 100%;
                display: inline-block;
                background: linear-gradient(90deg, #ddd, #f8f8f8);
                position: absolute;
                right: 0;
                top: 0;
                cursor: pointer;
                transition: all 0.1s linear;
            }

            .td.required {
                padding-left: 8px !important;
            }

            .required:before {

                content: "*";
                display: inline-block;
                color: #f2483d;
                position: absolute;
                left: 2px;
                top: 0;

            }

        }

        .th {
            td {
                min-height: 32px;
                padding: 7px 0;
                line-height: 16px;
                background: #f9f9f9;
            }
        }



    }

    .hover:not(.tf) {
        tr:hover {
            td {

                background: #dee1eb;
            }

            option {
                background: #fff;
            }
        }
    }

    .tf tr:hover {
        td:first-child {
            background: #dee1eb;
        }
    }

    .tf {
        tr {
            td:first-child {
                background: #F2F5F9;
            }
        }
    }

    .title {
        color: #777;
        background: #dee1eb !important;
    }
}

.elevationCal,
.positionCal,
.beamLenCal,
.PinnerCal {
    width: 100%;
    flex: 1;
    display: flex;
    overflow: auto;
    flex-direction: column;

    >div:first-child {
        overflow: hidden;
    }

    >div:last-child {
        flex: auto;
    }
}